Nie chcę zmieniać nazwy gałęzi zdalnej, jak opisano w sekcji Zmień nazwę gałęzi głównej zarówno dla lokalnych, jak i zdalnych repozytoriów Git. Jak mogę zmienić nazwę oddziału lokalnego, który nie został przekazany do oddziału zdalnego? W przypadku, gdy musisz zmienić również nazwę zdalnego oddziału: Jak zmienić nazwę lokalnego i zdalnego oddziału Git
2020-12-07 21:28:20
1 2 Kolejny Jeśli chcesz zmienić nazwę gałęzi, gdy wskazywana jest na jakąkolwiek gałąź, wykonaj: git branch -mJeśli chcesz zmienić nazwę obecnego oddziału, możesz: git branch -m Sposobem na zapamiętanie tego jest -m służy do "przenoszenia" (lub mv), czyli sposobu zmiany nazw plików. Pomocne może też być dodanie aliasu. Aby to zrobić, uruchom następujące polecenie: git config --global alias.rename 'branch -m' Jeśli jesteś w systemie Windows lub innym systemie plików bez rozróżniania wielkości liter i są tylko zmiany wielkości liter w nazwie, musisz użyć -M, w przeciwnym razie git wyrzuci gałąź już istnieje błąd: git branch -M | git branch -m stara_nazwa_gałęzi nazwa_nowej_gałęzi Powyższe polecenie zmieni nazwę twojej gałęzi, ale musisz być bardzo ostrożny używając gałęzi o zmienionej nazwie, ponieważ nadal będzie odnosić się do starej gałęzi upstream, jeśli taka istnieje. Jeśli chcesz wprowadzić zmiany do mastera po zmianie nazwy lokalnego oddziału na nazwa_nowy_branch (przykładowa nazwa): git push origin new_branch_name: master (teraz zmiany będą dotyczyły gałęzi master, ale nazwa twojego lokalnego oddziału to new_branch_name) Aby uzyskać więcej informacji, zobacz „Jak zmienić nazwę lokalnego oddziału w Git”. | Aby zmienić nazwę swojego obecnego oddziału: git branch -m | Oto kroki, aby zmienić nazwę oddziału: Przełącz się na gałąź, której nazwę należy zmienić git branch -m git push origin: git push origin : refs / heads / EDYCJA (01.12.2017): Upewnij się, że uruchomiłeś polecenie git status i sprawdź, czy nowo utworzona gałąź wskazuje na swój własny ref, a nie na starszą. Jeśli znajdziesz odniesienie do starszej gałęzi, musisz wyłączyć górną część za pomocą: git branch --unset-upstream | Zmiana nazwy gałęzi będzie przydatna, gdy twoja gałąź będzie gotowa. Potem nadchodzą nowe rzeczy i chcesz rozwijać się w tej samej gałęzi, zamiast usuwać ją i tworzyć nową. Z mojego doświadczenia wynika, że aby zmienić nazwę lokalnego i zdalnego oddziału w Git, należy wykonać następujące czynności. Cytowanie z wielu stanów - Zmień nazwę lokalnego i zdalnego oddziału w git 1. Zmień nazwę lokalnego oddziału Jeśli jesteś w oddziale, którego nazwę chcesz zmienić: git branch -m nowa-nazwa Jeśli jesteś w innym oddziale: git branch -m stara-nazwa nowa-nazwa 2. Usuń gałąź zdalną o starej nazwie i wypchnij gałąź lokalną o nowej nazwie git push origin: stara nazwa nowa nazwa 3. Zresetuj gałąź upstream dla oddziału lokalnego o nowej nazwie git push origin -u nowa-nazwa | Dotychczasowe odpowiedzi były poprawne, ale oto kilka dodatkowych informacji: Można bezpiecznie zmienić nazwę gałęzi za pomocą „-m” (ruch), ale należy uważać na „-M”, ponieważ wymusza zmianę nazwy, nawet jeśli istnieje już gałąź o tej samej nazwie. Oto fragment strony podręcznika „git-branch”: Z opcją -m lub -M, nazwa zostanie zmieniona na . Jeśli miał odpowiadający reflog, jego nazwa jest zmieniana na pasującą do i tworzony jest wpis reflog, aby zapamiętać zmianę nazwy gałęzi. Jeśli istnieje , należy użyć -M, aby wymusić zmianę nazwy. | 1. Zmień nazwę Jeśli to Twoja obecna gałąź, po prostu zrób git branch -m nowa_nazwa Jeśli jest to inna gałąź, której nazwę chcesz zmienić git branch -m stara_nazwa nowa_nazwa 2. Śledź nową zdalną gałąź - Jeśli twoja gałąź została wypchnięta, to po zmianie nazwy musisz usunąć ją ze zdalnego repozytorium Git i poprosić nową lokalną o śledzenie nowej zdalnej gałęzi: git push origin: stara_nazwa git push --set-upstream origin nowa_nazwa | Głupio nazwałam gałąź zaczynając od łącznika, a potem wypisałam master. Nie chciałem usuwać swojej gałęzi, miałem w niej pracę. Żaden z nich nie zadziałał: git checkout -dumb-name git checkout - -dumb-name "s, 's i \ s też nie pomogły. git branch -m nie działa. Oto, jak w końcu to naprawiłem. Wejdź do pliku .git / refs / heads swojej kopii roboczej, znajdź nazwę pliku "-dumb-name", pobierz hash gałęzi. Następnie to sprawdzi, utworzy nową gałąź z rozsądną nazwą i usunie starą. git checkout {hash} git checkout -b brilliant-name git branch -d - -dumb-name | Aby lokalnie zmienić nazwę oddziału: git branch -m [stara-gałąź] [nowa-gałąź] Teraz będziesz musiał rozpropagować te zmiany również na swoim zdalnym serwerze. Aby wypchnąć zmiany usuniętego starego oddziału: git push origin: [stara gałąź] Aby wprowadzić zmiany w tworzeniu nowego oddziału: git push origin [nowa gałąź] | Tylko trzy kroki, aby odtworzyć zmianę nazwy zarówno na zdalnym, jak i na GitHubie: Krok 1: git branch -m stara_nazwa_gałęzi nowa_nazwa_branch Krok 2: git push origin: stara_branchname nowa_nazwa_branch Krok 3 git push --set-upstream origin new_branchname | Zmień nazwę gałęzi za pomocą tego polecenia: git branch -m [stara_nazwa_gałęzi] [nowa_nazwa_gałęzi] -m: Zmienia nazwę / przenosi gałąź. Jeśli istnieje już oddział, pojawi się błąd. Jeśli istnieje już gałąź i chcesz zmienić nazwę tej gałęzi, użyj: git rename -M [old_branch_name] [new_branch_name] Aby uzyskać więcej informacji na temat pomocy, użyj tego polecenia w terminalu: git branch --help lub facet gitgałąź | Zaawansowani użytkownicy Git mogą ręcznie zmienić nazwę za pomocą: Zmień nazwę starej gałęzi w .git / refs / heads na nową nazwę Zmień nazwę starej gałęzi w .git / logs / refs / heads na nową nazwę Zaktualizuj .git / HEAD, aby wskazywał na nową nazwę oddziału | Zmień nazwę lokalnego oddziału. Jeśli jesteś w oddziale, którego nazwę chcesz zmienić: git branch -m nowa-nazwa Jeśli jesteś w innym oddziale: git branch -m stara-nazwa nowa-nazwa Usuń gałąź zdalną o starej nazwie i wypchnij gałąź lokalną o nowej nazwie. git push origin: stara nazwa nowa nazwa Zresetuj gałąź nadrzędną dla oddziału lokalnego o nowej nazwie. Przełącz się na oddział, a następnie: git push origin -u nowa-nazwa Aby to zrobić w szybki sposób, możesz wykonać 3 kroki: # Zmień nazwę gałęzi lokalnie git branch -m old_branch nowy_branch # Usuń starą zdalną gałąź git push origin: old_branch # Wypchnij nowy oddział, ustaw oddział lokalny na śledzenie nowego pilota git push --set-upstream origin new_branch Odniesienie: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html | Oto trzy kroki: Polecenie, które możesz wywołać wewnątrz terminala i zmienić nazwę gałęzi. git branch -m old_branch new_branch # Lokalna zmiana nazwy gałęzi git push origin: old_branch # Usuń starą gałąź git push --set-upstream origin new_branch # Wypchnij nową gałąź, ustaw gałąź lokalną na śledzenie nowego zdalnego Jeśli potrzebujesz więcej: krok po kroku, jak zmienić nazwę gałęzi Git to dobry artykuł na ten temat. | Prawdopodobnie, jak wspominali inni, będzie to niezgodność przypadków w nazewnictwie gałęzi. Jeśli masz taką sytuację, domyślam się, że pracujesz w systemie Windows, co również doprowadzi Cię do: $ git branch -m Uwzględniająca wielkość liter fatal: gałąź o nazwie „z uwzględnieniem wielkości liter” już istnieje. Następnie musisz wykonać krok pośredni: $ git branch -m tymczasowy $ git branch -m z uwzględnieniem wielkości liter Nic więcej. | Próbuję odpowiedzieć konkretnie na pytanie (przynajmniej tytuł). Możesz także zmienić nazwę lokalnego oddziału, ale nadal śledzi starą nazwę na pilocie. git branch -m old_branch nowy_branch git push --set-upstream origin new_branch: old_branch Teraz, kiedy uruchomisz git push, zdalny odnośnik old_branch zostanie zaktualizowany o twój lokalny new_branch. Musisz znać i zapamiętać tę konfigurację. Ale może to być przydatne, jeśli nie masz wyboru nazwy oddziału zdalnego, ale nie lubisz jej (och, mam na myśli, masz bardzo dobry powód, aby jej nie lubić!) I wolisz bardziej przejrzystą nazwa Twojego lokalnego oddziału. Bawiąc się konfiguracją pobierania, możesz nawet zmienić nazwę lokalnego zdalnego odniesienia. to znaczy posiadanie wskaźnika refs / remote / origin / new_branch ref na gałąź, czyli w rzeczywistości stara_branch na początku. Jednak zdecydowanie odradzam to, ze względu na bezpieczeństwo twojego umysłu. | Lokalna zmiana oddziału jest dość łatwa ... Jeśli jesteś w oddziale, dla którego chcesz zmienić nazwę, po prostu zrób to: git branch -m my_new_branch W przeciwnym razie, jeśli jesteś na master lub w innej gałęzi innej niż ta, której nazwę chcesz zmienić, po prostu wykonaj: git branch -m my_old_branch my_new_branch Tworzę również poniższy obraz, aby pokazać to w akcji w wierszu poleceń. W tym przypadku jesteś na gałęzi głównej, na przykład: | Jeśli chcesz użyć SourceTree (co zdecydowanie polecam), możesz kliknąć prawym przyciskiem myszy swoją gałąź i wybrać opcję „Zmień nazwę”. | Aby zmienić nazwę bieżącej gałęzi (z wyjątkiem odłączonego stanu HEAD), możesz również użyć tego aliasu: [Alias] mvh =! sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $ 1' | Inną opcją jest w ogóle nie używać wiersza poleceń. Klienci Git GUI, tacy jak SourceTree, usuwają większość syntaktycznej krzywej uczenia się / bólu, który powoduje, że pytania takie jak to są jednymi z najczęściej oglądanych w Stack Overflow. W SourceTree kliknij prawym przyciskiem myszy dowolny lokalny oddział w panelu „Branches” po lewej stronie i wybierz „Rename ...”. | Prosty sposób na zrobienie tego: git branch -m old_branch new_branch # Lokalna zmiana nazwy gałęzi git push origin: old_branch # Usuń starą gałąź git push --set-upstream origin new_branch # Wypchnij nową gałąź, ustaw gałąź lokalną na śledzenie nowego zdalnego Po więcej, zobacz to. | Ponieważ nie chcesz wypychać gałęzi na zdalny serwer, ten przykład będzie przydatny: Powiedzmy, że masz istniejącą gałąź o nazwie „my-hot-feature” i chcesz zmienić jej nazwę na „feature-15”. Najpierw chcesz zmienić swój lokalny oddział. To nie może być prostsze: git branch -m my-hot-feature-15 Aby uzyskać więcej informacji, odwiedź stronę Lokalna i zdalna zmiana nazwy oddziału w Git. | Git w wersji 2.9.2 Jeśli chcesz zmienić nazwę lokalnego oddziału, w którym się znajdujesz: git branch -m nowa_nazwa Jeśli chcesz zmienić nazwę innego oddziału: git branch -m stara_nazwa nowa_nazwa Jeśli chcesz zmienić nazwę innego oddziału na nazwę, która już istnieje: git branch -M stara_nazwa nowa_nazwa_to_already_istnieje Uwaga: ostatnie polecenie jest niszczące i zmieni nazwę twojej gałęzi, ale utracisz starą gałąź o tej nazwiei te zatwierdzenia, ponieważ nazwy gałęzi muszą być unikalne. | Jeśli chcesz zmienić nazwę obecnego oddziału, uruchom: git branch -m [stara_ gałąź] [nowa_ gałąź] Jeśli chcesz usunąć starą zdalną gałąź, uruchom: źródło git push: [stara_branch] Jeśli chcesz usunąć starą gałąź zdalną i utworzyć nową gałąź zdalną, uruchom: git push origin: old_branch new_branch | Właściwie masz trzy kroki, ponieważ lokalny oddział ma duplikat na serwerze, więc mamy jeden krok dla lokalnego na dwóch krokach na serwerze: Zmień nazwę lokalną: po prostu użyj następującego polecenia, aby zmienić nazwę bieżącej gałęzi, nawet jeśli ją sprawdziłeś: git branch -m Usuń serwerowy: użyj następującego polecenia, aby usunąć starą gałąź nazw na serwerze: git push : Wypchnij nowy: teraz czas na wypchnięcie nowej gałęzi nazwanej na serwerze: git push -u | Zmianę nazwy gałęzi Git można wykonać za pomocą: git branch -m oldBranch newBranch git branch -M oldBranch ExistingBranch Różnica między -m i -M: -m: jeśli próbujesz zmienić nazwę swojej gałęzi na istniejącą nazwę gałęzi, używając opcji -m. Pojawi się błąd informujący, że gałąź już istnieje. Musisz podać unikalną nazwę. Ale, -M: pomoże ci to wymusić zmianę nazwy z podaną nazwą, nawet jeśli istnieje. Tak więc istniejąca gałąź zostanie całkowicie nadpisana ... Oto przykład terminala Git, mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch mistrz mistrz0 new_master test * test1 mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -m test1 test fatal: gałąź o nazwie „test” już istnieje. mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -M test1 test mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch mistrz mistrz0 new_master * test mohideen @ dev: ~ / project / myapp / sunithamakeup $ | Dla użytkowników Git GUI nie może być dużo prostsze. W graficznym interfejsie użytkownika Git wybierz nazwę gałęzi z rozwijanej listy w oknie dialogowym „Zmień nazwę gałęzi” utworzonym z menu Gałąź: Zmień nazwę, wpisz nową nazwę i kliknij „Zmień nazwę”. Podkreśliłem, gdzie znaleźć rozwijaną listę. | Wszystkie poprzednie odpowiedzi dotyczą git branch -m. Oczywiście jest łatwy w obsłudze, ale dla mnie może być trochę trudno zapamiętać inne polecenie Gita. Więc starałem się wykonać pracę poleceniem, które znałem. Tak, możesz się domyślić. Używam git branch -b . A jeśli nie chcesz teraz zapisywać starej gałęzi, możesz wykonać polecenie git branch -D , aby ją usunąć. Wiem, że może to być trochę nudne, ale łatwiej to zrozumieć i zapamiętać. Mam nadzieję, że będzie to pomocne dla Ciebie. | Jeśli chcesz: Zmień nazwę repozytorium Git, uruchom: git branch -m Usuń starą gałąź przez: git push origin: stara nazwa nowa nazwa Zatwierdź to używając: git commit a następnie wypchnij używając: git push origin nazwa_nowy_branch: master Jeśli chcesz sprawdzić status, użyj: git status Jeśli chcesz sprawdzić, użyj: git checkout | Zanim zaczniemy, upewnij się, że wybrałeś gałąź, której nazwę chcesz zmienić: git checkout stara nazwa Jeśli chcesz zobaczyć wszystkie swoje lokalne oddziały, użyj następującego polecenia: git branch --list Gdy wszystko będzie jasne, wykonaj następujące kroki: Użycie polecenia Git rename branch będzie wymagało dodania opcji -m do polecenia: git branch -m nowa-nazwa Możesz również zmienić nazwę lokalnego oddziału z innego oddziału, używając następujących dwóch poleceń: git checkout master git branch -m stara-nazwa nowa-nazwa Na koniec to polecenie wyświetli listę wszystkich gałęzi - zarówno lokalnych, jak i zdalnych - w celu sprawdzenia, czy została zmieniona: git branch -a Chociaż bezpośrednia zmiana nazwy oddziału zdalnego nie jest możliwa, proces zmiany nazwy obejmuje następujące trzy proste kroki: Aby rozpocząć, musisz zmienić nazwę lokalnego oddziału, wykonując poprzednie kroki. 2. Następnie usuń starą gałąź i wepchnij nową. Możesz to łatwo zrobić za pomocą następujących poleceń: git push origin --delete old-name git push origin: stara nazwa nowa nazwa Zresetuj gałąź upstream dla nowego oddziału lokalnego, a wszystko będzie gotowe: git push origin -u nowa-nazwa | 1 2 Kolejny Bardzo aktywne pytanie. Zdobądź 10 punktów reputacji, aby odpowiedzieć na to pytanie. Wymóg dotyczący reputacji pomaga chronić to pytanie przed spamem i brakiem odpowiedzi. Nie szukasz odpowiedzi? Przeglądaj inne pytania oznaczone tagiem git kontrola wersji git-branch lub zadaj własne pytanie.